import { IParam, IViewCtx } from '../../common';
import { IController } from './i-controller';

/**
 * 行为能力
 *
 * @export
 * @interface IAbility
 */
export interface IAbility {
	/**
	 * 名称
	 *
	 * @type {string}
	 * @memberof IAbility
	 */
	name: string;

	/**
	 * 获取模型数据
	 *
	 * @return {*}  {IParam}
	 * @memberof IAbility
	 */
	getModel(): IParam;

	/**
	 * 控制器
	 *
	 * @return {*}  {IParam}
	 * @memberof IAbility
	 */
	controller: IController;

	/**
	 * viewCtx
	 *
	 * @memberof IAbility
	 */
	viewCtx: IViewCtx;
}
